Systems and methods for image archeology

ABSTRACT

Systems and methods are described for determining manipulation history among a plurality of images. The described techniques include selecting a pair of images from the plurality of images, detecting one or more manipulations operable to transform one of the images to the other, and based on the manipulations detected, determining a parent-child relationship between the pair or pairs of images. The described techniques can further include repeating the selecting two images, detecting manipulations, and determining the parent-child relationship for each pairs of images in the plurality of images, constructing a visual migration map for the images, and presenting the visual migration map in a user readable format.

RELATED APPLICATIONS

The present application claims priority to U.S. Provisional Application Ser. No. 61/043,982, filed on Apr. 10, 2008, the disclosure of which is incorporated herein in its entirety.

GRANT INFORMATION

This disclosed subject matter was made with government support under Grant No. 0716203 awarded by the National Science Foundation. The government has certain rights in the disclosed subject matter.

BACKGROUND

In modern society, artifacts are created and archived at an increasingly growing rate. Specifically, the proliferation of the Internet and the continued growth and simplification of web publishing tools has greatly facilitated sharing and publication of ideas and stories online by technologically unsophisticated users. These stories and ideas are frequently enhanced by the inclusion of photographs and images which support the viewpoints and messages of the authors. In many cases, through the use of photo editing software, the images can become highly manipulated, with portions added, removed, or otherwise altered. These manipulations often not only indicate the usage of the images, but also affect the meanings conveyed by the images and reflect the beliefs of the authors. A history of the manipulations over an image can be revealing of the evolution in temperament, viewpoint, and attitudes of the general public over time.

FIG. 16 a shows a famous photograph, Raising the Flag on Iwo Jima, which was taken by Joe Rosenthal shortly after the World War II battle in Iwo Jima in 1945. Immediately after it was shot, the image was reproduced in newspapers all across the United States. The wide distribution of the image served to invoke national pride and convey a highly patriotic and supportive view of the United States' use of military force. In FIG. 16 b, a photomontage made for an anti-Vietnam War poster in 1969 by Ronald and Karen Bowen, replaced the flag in the soldiers' hands with a giant flower. The objective here was to take the originally pro-war image and subvert its meaning into anti-war imagery.

The challenge of identifying whether or not two images are copies of each other has been addressed in recent research efforts in image near-duplicate detection. As the term “near” would imply, these research efforts aim to detect pairs where the duplication may not be exact. Thus the methods of copy identification are robust against a variety of distortions, such as cropping, scale, and overlay. However, these detection methods do not specifically address the manipulations that one image has been subjected to arrive at the other images.

Another field, image forensics, also takes into account of the manipulation for identifying whether or not any manipulations of an image have taken place. Approaches in this field can involve checking the consistency of various regions of the image for artifacts induced by the physics or the peculiarities of the acquisition and compression processes. Such cues can be used to identify the camera used to take a photograph or if two regions of a photograph are derived from separate sources. However, again, image forensics focus on the evaluation of similarities between two images, and are not concerned with detecting the manipulations of images in the context of a plurality of various instances of the same image.

It would be valuable to identify the original image in a collection of related images, and desirable to track the usage of the images and their evolution over time, and to help design systems that enhance image searching, browsing, and retrieval using information obtained from such archaeological digs. Therefore, there is a need for developing techniques for analyzing related images and determining plausible manipulation history among the images.

SUMMARY

Systems and methods for determining the manipulation history among a plurality of images are herein described.

In some embodiments of the described subject matter, the described techniques include selecting a first image and a second image from the plurality of images and detecting one or more manipulations that are operable to transform one of the images to the other. Further, based on the one or more manipulations detected, a parent-child relationship between the first image and the second image can be determined. The determined parent-child relationship can then be presented in a user readable format.

In certain embodiments, the described techniques further include repeating the procedure of selecting two images, detecting manipulations, and determining the parent-child relationship on each pairs of images in the plurality of images, constructing a visual migration map for the images, and presenting the visual migration map in a user readable format.

In certain embodiments, the described techniques include obtaining the plurality of images by manual collection, using an Internet search engine, or web-crawling.

In particular embodiments, the described techniques include using a copy detection technique to sort the plurality of images into subsets of images and selecting a pair or pairs of images in the subset of images for further detection of manipulations and determination of parent-child relationship(s).

In certain embodiments, the described techniques include using one or more context-independent detectors and then one or more context-dependent detectors. The context-independent detectors can include a scaling detector and a grayscale detector. The context-dependent detectors can include a cropping detector, an insertion detector, and an overlay detector.

The described techniques can be implemented in a system, e.g., a computer apparatus, which includes one or more input devices, one or more processing devices, one or more memory devices, and one or more display devices.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of various embodiments of the described subject matter and its advantages, reference is now made to the following description, taken in conjunction with the accompanying drawings, in which:

FIG. 1 is a process diagram in accordance with an embodiment of the disclosed subject matter.

FIG. 2 depicts a hypothetical visual migration map (VMM) showing the manipulation history of an image.

FIGS. 3 a-3 f illustrate an original image and the outcomes of some manipulations on an original image.

FIGS. 4 a-4 c illustrate the appearances of the composite and residue images of certain original images, the composite and residue images being obtained according to some embodiments of the described techniques.

FIG. 5 depicts a schematic diagram for detecting manipulations between two selected images from a plurality of images according to some embodiments of the described techniques.

FIGS. 6 a and 6 b depict examples of multiple manipulations between two images that are of consistent and conflicting directionalities.

FIGS. 7 a and 7 b depict an example of simplifying the structure of a VMM according to some embodiments of the described techniques.

FIG. 8 depicts some images used in Example 1 of the present application which were evaluated according to some embodiments of the described techniques.

FIG. 9 depicts a VMM obtained according to some embodiments of the described techniques for a photograph of Osama bin Laden.

FIG. 10 depicts a VMM obtained according to some embodiments of the described techniques for a photograph of Dick Cheney.

FIG. 11 illustrates the performance of some manipulation detectors according to some embodiments of the described techniques.

FIGS. 12 a and 12 b illustrate a comparison of a VMM obtained according to some embodiments of the described techniques (FIG. 12 a) and a manually built VMM (FIG. 12 b) for the same given set of images.

FIG. 13 illustrates examples of summaries of discovered original and manipulated images according to some embodiments of the described techniques.

FIG. 14 illustrates correlations between image types and their associated perspectives according to some embodiments of the described techniques.

FIG. 15 illustrates a system in accordance with an embodiment of the disclosed subject matter.

FIGS. 16 a and 16 b are two images illustrative of the change of meaning of an image over time.

DETAILED DESCRIPTION

The described techniques herein include computer-implemented methods for determining the parent-child relationship between a pair of images in the context of a plurality of images, as well as determining the parent-child relationship among all the images in the plurality of images.

In one embodiment, the described techniques provide a method for determining manipulation history among a plurality of images. Referring to FIG. 1, the method includes selecting a first image and a second image from the plurality of images at 10, detecting one or more manipulations operable to transform one of the selected images to the other image at 20, determining existence of a parent-child relationship based on the detection of the manipulations at 30, and presenting the parent-child relationship determined in a user readable format at 40. The described techniques are hereinafter also referred to as “Image Archaeology Techniques.”

The Image Archaeology Techniques are based on the observation that many manipulation operations performed on images are directional: they either remove information from the image or inject external information into the image. Therefore, there are clues about the parent-child relationship between images encoded in the image content. Determining the parent-child relationship can be broken down into the task of individually detecting each type of manipulation and its directionality. The directions of manipulations are then checked to see if they are in agreement or not. As will be shown below, the directionality of many types of editing operations can be detected automatically, and plausible visual migration maps (VMMs) can be constructed for the images. As used herein, VMMs are a collection of images or tokens thereof that identify the images, together with indications of parent-child relationship among the images in the collection.

The observable manipulations on images available on the internet do not exist in a vacuum. Instead, many images have a history and context that change over time. It is not the typical case that users are exposed initially to an original version of the image and decide to derive an image directly from the original. Rather, users can be exposed to a particular version of the image that is already derivative in some respect. For example, the image can be cropped, scaled, or modified with overlays with respect to the true original image. There is often also text surrounding the image, which conveys a story and shapes a user's interpretation of the image. Therefore, each image is likely the result of many generations of manipulations and changes in meaning and context.

In FIG. 2, a hypothetical VMM of an image is illustrated. The original image is shown at the top, and its children are shown as images through various manipulations. The children can be further manipulated to form their own children. This VMM can have a number of characteristics that can be helpful for image exploration or searching, including, for example, the “original” and “highly-manipulated” images as shown in FIG. 2.

Original versions of images are typically of high resolution, contain the largest crop area, and are subject to the least manipulations. These versions can be the most relevant for certain image searching tasks. Highly-manipulated images are the ones that are many generations away from the original. On one hand, there are images which are highly-manipulated in terms of simply having information removed, through excessive cropping and down-scaling, which usually do not to enhance or change the meaning conveyed in the original version. On the other hand, there are images which are highly-manipulated in the sense that they have a great deal of external information overlaid on top of the original image. These can be of more interest to the user, since the meanings of the images may have been significantly altered.

The presently described techniques can automatically identify the points along the evolution of the image which can be of particular value to a viewer or a searcher. It is noted that without explicit information from image authors, it can be difficult to obtain a true history of image manipulations. Also, it is often impossible to obtain every single copy of an image in the world. However, by using limited number of certain images collected from available sources, the described techniques can yield important insights as to the evolution of an image over time, and reveal many important characteristics necessary for building search and browsing applications, including identifying the “original” and “highly-manipulated” images.

The plurality of images can be obtained from a number of sources. For example, the images can be collected manually, by using an internet search engine, or through a program such as a robot designed to crawl and download images from the internet.

After the plurality of images are obtained, they can be further sorted into subsets of “connected images,” since some of the techniques for obtaining the images can yield images that are not actually related. For example, an Internet search of a person's name through GOOGLE® IMAGES® search engine can yield photographs of many people having the same name. As used herein, a subset of “connected images” refer to a group of images that are likely derived from a common “ancestor” image through distinct manipulations.

This sorting of images can be accomplished by various copy detection techniques known to those skilled in the art. For example, the techniques described in Hampapur et al. “Comparison of sequence matching techniques for video copy detection,” Conference on Storage and Retrieval for Media Databases, pages 194-201 (2002) and Zhang et al. “Detecting image near-duplicate by stochastic attributed relational graph matching with learning,” In ACM Multimedia (2004), the contents of which are incorporated by reference herein, can be used.

An exemplary copy detection technique can be implemented as follows. First, scale invariant feature transform (SIFT) descriptors can be extracted for each image. These features capture local geometric properties around interest points within the image. SIFT descriptors are invariant against a number of distortions, such as scaling and rotation, and robust against a number of other transformations. They are highly distinctive and occurrences of descriptors of a real-world point represented across different images can be matched with high precision. Each image has a set of SIFT descriptors, I_(S), where each descriptor is a tuple of (x_(i), y_(i), f), where x_(i) and y_(i) are the spatial X-Y coordinates of the interest point in the image, and f is an 128-dimensional SIFT feature vector describing the local geometric appearance surrounding the interest point. Given two images, A and B, all pairwise point matches are searched between the images. A matching set are detected when the Euclidean distance between the points' features, D (f_(A,i); f_(B,j)), falls below a predetermined threshold. Matching points between A and B are then retained in a set, M_(A,B), which consists of a set of tuples, (x_(A,i), y_(A,i), x_(B,j), x_(B,j)), marking the locations of the matching points in each image. Then a predetermined threshold is applied on the number of matching points, M_(A,B), in order to get a binary copy detection result. The threshold can be determined depending on the sensitivity desired. In some embodiments, a threshold of 10-100 can be used. In one embodiment, the threshold is selected as 50.

For two images selected from the plurality of images (or in a subset thereof containing connected images), a determination can be made as to whether one of them has been derived from the other. This can be done by detecting the existence of one or more manipulations between the two images.

“Manipulation” as used herein refers to a distinct image-altering operation, alone or in combination with one or more other operations, which is operable to transform one of the two images to the other. For example, a manipulation can be an operation performed on an image to alter its size, orientation, color, content, as well as an operation that uses the image or a derived image thereof as a subpart of another image. A manipulation can be selected from the various image-altering operations such as scaling, rotation, cropping, resizing, blurring, mirroring, color adjustment, contrast adjustment, mirroring, and other various filtering operations that are provided by commercial graphics software, e.g., ADOBE PHOTOSHOP®. A manipulation can also include converting an image into a different format wherein artifacts can be introduced as a result of the conversion. For example, when an uncompressed TIFF image is converted to a JPEG image, the compression methods employed by JPEG can result in artifacts not present in the original TIFF image.

A manipulation can include several sub-procedures: for example, a smaller image can be derived by successive cropping of a larger image. However, these sub-procedures are herein considered herein as one overall operation. For efficiency purpose, the detection of manipulations can be preferably performed within subsets of connected images, because if the two images are not in the same subset of connected images, no manipulations would be detected.

Among the wide variety of manipulations, those manipulations implying a directional relationship between the two images are of special interest. For example:

-   -   Scaling is the creation of a smaller, lower-resolution version         of the image by decimating the larger image. In general, the         smaller-scale image can be assumed to be derived from the         larger-scale image.     -   Cropping is the creation of a new image out of a subsection of         the original image. The image with the smaller crop area can be         assumed to have been derived from the image with the larger crop         area.     -   Grayscale is the removal of color from an image. The grayscale         images can be assumed to be derived from color images.     -   Overlay is the addition of text information or some segment of         an external image on top of the original image. The image         containing the overlay can be assumed to be derived from an         image where the overlay is absent.     -   Insertion is the process of inserting the image inside of         another image. For example, an image can be created with two         distinct images placed side by side or by inserting the image in         some border with additional external information. It can be         assumed that the image resulting from the insertion is derived         from the other image.

Note that the above list is not exhaustive. They are used only as examples that can potentially change the meaning of the image, rather than just the perceptual quality. FIGS. 3 b-3 f illustrates the results of these manipulations, i.e., scaling, cropping, grayscale, overlay, and insertion, respectively, as applied to an original image FIG. 3 a.

There can be exceptions in the directions of each of these manipulations. It is possible, though very atypical, to scale images up, or remove an overlay with retouching software.

Detecting manipulations can be done directly between two selected images alone when the manipulations themselves clearly indicate directions, i.e., which image might have been subjected to the manipulations, and which image is likely the resulting image of the manipulations performed on the other image. However, for certain types of manipulations, the precise directionality cannot be detected with confidence from the selected pair of images alone. Comparing FIGS. 3 a and 3 e, a person can tell that FIG. 3 e contains an overlay. A machine, however, would only be able to discern that the two images differ in the region of the overlay, but would not necessarily be able to infer which image contains the original content and which one contains the overlay. By considering all of the images in FIG. 3, however, the presently described techniques can determine that most images have content similar to FIG. 3 a in the region of the overlay, and thus determine that FIG. 3 e should be the result of an overlay manipulation performed on FIG. 3 a.

As used herein, a technique for detecting a particular manipulation between a pair of images is referred to as the “detector” for such a manipulation. For example, a technique for detecting a scaling manipulation is referred to as a “scaling detector.” The term “context-independent detector” (or “context-free detector”) includes a detector wherein the directionality of the manipulations can be determined solely based on the two selected images. Context-independent detectors can include, but are not limited to, a grayscale detector and a scaling detector. The term “context-dependent detector,” on the other hand, includes a detector wherein manipulations can be detected, whereas the directionality of the manipulations cannot be unambiguously determined solely based on the two selected images. However, the directionality of these manipulations can be determined in the context of the plurality of images from which the two images are selected. Context-dependent detectors can include, but are not limited to, a cropping detector, an insertion detector, and an overlay detector.

If the plurality of images have not been sorted into subsets of connected images, detecting manipulations between any two images in the plurality of image can start with using a copy detection technique as described above to determine whether the two images belong to the a subset of connected images. This procedure is referred to herein as a “copy detector,” although it is understood that this “detector” itself does not give cues regarding specific manipulations or their directions. If the two images are determined by a copy detector as not belonging to the same subset of connected images, it is not necessary to detect manipulations using other detectors (i.e., it can be simply determined that no manipulations exist between the two images); otherwise, other detectors can then be used to further ascertain what specific manipulations exist between the two images. Therefore, it is preferable that the detection of manipulations includes a copy detector in conjunction with other detectors.

According to certain embodiments of the described subject matter, detecting one or more manipulations between the two selected images can include using one or more context-independent detectors. In one embodiment, the context-independent detector can be a scaling detector. In one embodiment, the scaling detector can be implemented by first employing a copy detection technique as the one described above to generate a set of matching points, M_(A,B). Assuming no image rotation is involved, the scaling factor between the two images, SF_(A,B), can be estimated directly as the ratio between the spatial ranges of the X-Y locations of the matching points:

$\begin{matrix} {{SF}_{A,B} = \frac{{\max \left( x_{A} \right)} - {\min \left( x_{A} \right)}}{{\max \left( x_{B} \right)} - {\min \left( x_{B} \right)}}} & (1) \end{matrix}$

The same estimate can be computed for the Y-dimension to account for disproportionate scaling. A predetermined threshold can be applied to SF_(A,B) for a binary detection of scaling. The directionality of the scaling manipulation, if any, is from the larger image to the smaller image.

Another approach for scaling detection can be a random sample consensus approach, for example, as described in M. Fischler et al. “Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography,” Communications of the ACM, 24(6):381-395 (1981). The random sample consensus approach has been frequently used for image registration in computer vision and remote sensing.

The above estimation in the scaling detector can also be used to normalize the scales and align the positions of the two images. For example, a normalized image B, image B′, can be obtained by scaling image B by a factor of SF_(A,B) while interpolating pixels of image B by a factor of SF_(A,B). In addition, simple shift operations can be performed to align the interest points (and corresponding pixel content) of B′ with A. Such scale normalization and position alignment can be later used to conduct pixel-level comparisons to detect the existence of other manipulations between the two images.

In another embodiment, the context-independent detector can be a grayscale detector (or color removal detector). The grayscale detector can start with estimating whether each image is in grayscale. For example, an image can be readily determined to be grayscale when it is stored as a grayscale file containing a single channel. There are also grayscale images that are stored in regular three-channel files, which include, but are not limited to, RGB and YUV files. For these cases, the grayscale detector can utilize the differences between values of each pixel for the different channels, for example, the red, green, and blue channels in a RGB file. When the differences are very small (i.e., below a predetermined threshold), the image can be determined to be grayscale. Otherwise, the image can be determined to be in color. Once it is determined whether each of the two images is in color or in grayscale, the existence of a grayscale manipulation between the two images can be determined. The directionality of the grayscale manipulation, if any, is from the color image to the grayscale image. If the two selected images are not previously determined to be in the same subset of connected images using a copy detection technique, the grayscale detector can be preferably used in conjunction with a copy detector. In this case, if the copy detector determines that the two images are not in the same subset of connected images, regardless of a detection of grayscale manipulation, no manipulations are considered existent between the two images.

According to some embodiments of the described subject matter, detecting one or more manipulations between the two selected images can include using one or more context-dependent detectors. As noted above, some manipulations such as cropping, insertion, or overlay, cannot be detected with confidence under certain circumstances by looking at the differences between the two selected images alone. To address this problem, all of other copies of the image in the same group of connected images can be employed, in the following procedure.

Any image I_(A) has a set of “neighbors,” II_(A,N), which are the images that have been detected as copies of I_(A). These neighbors are also all the images in the group of the connected images to which I_(A) belongs with the exception of I_(A) itself. Within this set, a method can then be used to normalize the scales and offsets between each image in II_(A,N) and I_(A), yielding a scaled-shifted version of all the images in II_(A,N), collectively referred to as II_(A,N″), such that all of the images in II_(A,N″) can be composited on top of each other (as well as on top of I_(A)) with pixel-wise correspondences. An example of such a method can be the method described above in connection with the scaling detector.

A composite image of image I_(A), I_(A, comp), can then be obtained as:

$\begin{matrix} {I_{A,{comp}} = \frac{\sum{II}_{A,N^{''}}}{{II}_{A,N}}} & (2) \end{matrix}$

where |II_(A,N)| represents the number of images in the set II_(A,N), and ΣII_(A,N″) represents the sum of the values (e.g., grayscale intensities) of the corresponding pixels in each of the scaled-shifted images in the set II_(A,N″). Therefore, I_(A,comp) is essentially the average of the corresponding pixels in the images in the neighbor set I_(A,N). This composite image reflects the contextual information about the typical appearances of areas of the image across many different copies of the image. Then, the content of I_(A) is compared against the composite content in I_(A,comp) to find regions of I_(A) that are atypical. This can be done through the residue between the two:

I _(A,res) =|I _(A) −I _(A,comp)|  (3)

where the residue image I_(A,res) contains pixels that are the absolute values of the differences between the corresponding pixels of the image I_(A) and its composite image. A predetermined threshold can be applied to I_(A,res) to binarize it (e.g., to zero and a non-zero number, or black and white). Thereafter, detecting one or more manipulations between the two images, I_(A) and I_(B), can be done by comparing their respective residue images I_(A,res) and I_(B,res) as proxies.

FIG. 4 illustrates the appearances of the composite and residue images. The composite images can still show traces of manipulations that are present in other images, but are largely true to the original content of the image. In the resulting residue images, areas that are consistent with the original image will be black (indicating a pixel-wise difference between the image and its composite is below the predetermined threshold), and areas that are inconsistent will be white (indicating that a pixel-wise difference between the image and its composite is above the predetermined threshold). These residue images can be used to disambiguate the directions of overlay manipulations or to clarify the differences between crops and insertions as follows.

FIG. 4 a shows an example of how a crop manipulation can manifest in the composite and residue images of an image. The image content in the larger-crop-area image (Image A) largely match its composite image (Composite A), which is reflected in the darkness of its residue image (Residue A). This is consistent with a cropping manipulation. FIG. 4 b, on the other hand, shows an example of an insertion manipulation (Image A). Here, the content of larger-crop-area image (Image B) is different from its composite image (Composite B), which is reflected in the many white areas of its residue image, also referred to as the noise patterns (Residue B). This is consistent with an insertion manipulation. In summary, cropping and insertion can be discovered by finding image pairs with differences in image area, and then be disambiguated by examining the properties of the residue image with the larger crop area in the region outside the shared image area of the two images. As used herein, “image area” refers to a measure of the actual content of an image regardless of its actual size or resolution. For example, if an image B is obtained by proportionally downscaling an image A to half of its original size, image B and image A would have the same image area.

FIG. 4 c shows an example of the composite and residue images associated with an overlay manipulation. The overlay image has a region that is highly different from the original, which is reflected in white pixels in the residue image. It is noted that although both overlay and insertion manipulations exhibit regions of an image with high dissimilarity to its composite image, the area of difference for overlay is inside the image area shared by both images, while areas of differences are outside the image area shared by both images in the case of insertion.

In some embodiments, detecting one or more manipulations between two selected images include first using one or more context-independent detectors and then one or more context-dependent detectors. Using one or more context-independent detectors can further include obtaining the composite image of each of the two images, obtaining a residue image for each of the two images based on differences between each of the two images and its corresponding composite image, and then determining the one or more manipulations operable to transform one of the two images to the other. If the two images have different image areas after normalization and alignment, insertion or cropping manipulations can be detected based on the noise patterns of the non-overlapping region of the respective residue images. If the two images have the same image area or an overlapping image area wherein a noise pattern occurs in one of the residue images, an overlay manipulation is detected.

FIG. 5 is an illustrative diagram for one of such embodiments. Image A and Image B are first subjected to copy, grayscale, and scaling detection at 510. The copy detection can generate a number of matching points between image A and image B at 520, which can be further used in the scaling detection. The scaling detection and the matching points can be further used to scale and align image A and B at 530, which shows a scaled-shifted Image A and the original Image B. Based on a collection of a set of connected images 540, the composite image of Image A (Comp A) can be obtained at 550 using the scaling/alignment techniques above as applied to each of the images in 540 as well as Image B followed by averaging the scaled and shifted images according to Equation 2, above. The composite image of Image B (Comp B) can be obtained at 550 in a similar manner using the collection of images in 540 and Image A. The difference between Image A and its corresponding composite image is obtained as the residue image of Image A (Res A) at 560. The residue image of Image B (Res B) can be obtained as the difference of Image B and Comp B at 560. Based on these two residue images, cropping, insertion, and overlay manipulations can be detected at 570. The detection results at 580 show that between Image A and Image B, scaling, cropping, and overlay manipulations are detected to be existent, all of which being of the same directionality. Grayscale and insertion manipulations are not detected.

After the detection of manipulations between the two images, a parent-child relationship can be determined to be existent or non-existent. If there is no manipulation detected, there would exist no parent-child relationship between the two images. Otherwise, there are several possible scenarios. First, if only one manipulation is detected to be existent, which is operable to transform one image to the other image, then a parent-child relationship is determined to be existent, the parent being identified as the former image. Second, if multiple manipulations are detected to be existent and each of which is operable to transform one image to the other image, then a parent-child relationship is determined to be existent, the parent being identified as the former image. Third, if multiple manipulations are detected to be existent but are of different directionality, i.e., at least one of the detected manipulations is operable to transform the first image to the second image, while at least another of the detected manipulations is operable to transform the second image to the first image, then a parent-child relationship is determined to be non-existent. Note that this last scenario only indicates that the two images are not of “linear kinship.” They can both still be part of an “extended family” with a common ancestor. It is also noted that a parent-child relationship does not require that one image is the immediate source from which the other is derived. There could be intermediate generations of copies between the two images.

FIG. 6 depicts some examples of how the detected manipulations can demonstrate conflicting directionality. At the top, in FIG. 6 a, the detectors are giving conflicting stories. The scaling, overlay, and insertion detectors indicate that the right image is the child, while the grayscale detector suggests just the opposite. There appears to have been no cropping. The contradictory stories being told by the manipulation detectors indicates that neither of the images is derived from the other. It is likely that each is derived from another image, and the two can be cousins or siblings in the manipulation history.

FIG. 6 b shows a situation where the individual manipulations are in agreement with respect to directionality. The scaling, grayscale, and cropping detectors all indicate that the right image is derived from the left one, while no insertion or overlay effects appear to be existent. The cumulative effect of all of these detections is that the left image is the parent of the right one.

The determined parent-child relationship, if any, can then be presented in any user readable format. For example, it can be presented as a directed graph format wherein the two images are represented as nodes and the relationship is represented by an arrow pointing away from the parent image and to the child image. It can also be presented as simple text stating the images involved and the parent-relationship found. Any additional information associated with the image can also be presented. The presentation can be made on a monitor, printed on paper, or on other electronic or physical display means.

In the above, only two images are compared and manipulations between them are detected, although sometimes the information about the rest of the plurality of images obtained can be utilized when the number of the plurality of images is greater than 2. The procedure of detecting manipulations and determining parent-child relationship can be repeated for all other pairs of images in the plurality of images to determine a parent-child relationship between them. Then, a VMM for the plurality of the images can be constructed, wherein the images can be represented as nodes and the parent-child relationship can be represented as directed edges between nodes.

Any other suitable user readable formats can also be used as long as they can sufficiently identify each of the images and the parent-child relationship among them. The user readable format can include, but are not limited to, a table tabulating the images or their identifiers with their parents' and/or children's images or identifiers, a matrix showing the images or their identifiers and the relationship between the images, a text description of each of the images and its parents/children. Any additional information associated with the image can also be presented, for example, the source where the image is obtained and the text surrounding the image in the source.

Depending upon the nature of the pool of the obtained plurality of images used to conduct this manipulation history detection, the VMM(s) derived can be different. If the pool is heterogeneous, for example, when the images are drawn from web image search results, then several different connected components of different (non-copied) images can be found within the pool. If the pool is rather homogeneous, for example, when a set of known copies are obtained by manual collection, then a single set of connected images can be covering all of the images. In any event, for efficiency purpose, either an apparent heterogeneous or an apparent homogeneous pool of images can be first subjected to a copy detection technique as described above to sort the images into subsets of connected images, and then the pairwise image comparisons can be conducted within each subset of connected images to determine the manipulations and parent-child relationships. In the end, a VMM for each of the subsets of connected images is obtained. The VMM(s) can then be presented in a user readable format.

There can be redundancy in the graph structure of each VMM. For example, the above described procedures can result in a VMM having a structure shown in FIG. 7 a, because it is plausible for an image to have been derived from its parent or its parent's parent, thereby resulting in the detection of a parent-child relationship between the image and each of its linear ancestors. The graph structure can be simplified by retaining only the longest descendent path between two images, resulting in a VMM having a structure shown in FIG. 7 b, wherein each node has at most one parent node. This is not necessarily better than any other graph simplification, but it is practical in that it retains important aspects, such as the sink nodes (the nodes that have no outgoing edges) and source nodes (the nodes that have no incoming edges), and assumes that each image inherits the manipulation history of its parents.

The techniques of the described subject matter can be implemented on a computer apparatus, special purpose hardware, or computers in a client/server environment that includes one or more processors, memory, input devices, output devices, display devices, communication devices and networks, and data storage devices, for example, computer readable media, using software or firmware programmed to implement the techniques. FIG. 15 depicts a diagram for an exemplary system for implementing the described techniques. The system includes a computer 110, with a memory 120, processor 130, data entry device 140, and display device 150. The computer can include a IBM-PC compatible computer, or any other portable devices having one or more memory devices, processing devices, and input and output devices. Memory 120 can be a hard drive, but can be any other form of accessible data storage, while processor 130 may be any type of processors. Data entry device 140 is a keyboard, but may also include other data entry devices such as a mouse, an optical character reader, or an internet connection for receiving electronic media. Display device 150 can be a monitor, but can also be any other types of devices sufficient to display information in text, graphs or other user readable formats. Those of ordinary skill in the art will appreciate that the described techniques can be practiced by any of numerous variations of the above described embodiment.

In some embodiments, instructions embodying the described techniques can be included in a computer readable medium, such as a DVD, CD, hard disk, nonvolatile memory, computer chip, or the like. The computer apparatus can include the computer readable medium. The computer apparatus can further include processors in communication with the computer readable medium to receive the instructions embodied thereon. The processors can be in communication with one or more memories for storing and/or accessing data for the techniques. The data can include one or more of the images or other data of the described techniques. The computer apparatus can also include multiple processors, processing the described techniques in parallel or processing the described techniques in a separable manner such that a first one or more processors can process a first portion of the techniques while a second one or more processors processes a second portion of the techniques. Before presenting the results obtained by the described techniques in a user readable format, the results can be stored in a memory, such as a database, as appropriate; also, the results can be delivered over one or more networks to the other entity for presentation.

In one embodiment, a system for determining manipulation history among a plurality of images include: an input device for receiving a first image and a second image from the plurality of images; a processing device that is operably coupled with the data input device for detecting one or more manipulations, if any, that are operable to transform the first image to the second image or the second image to the first image; a processing device (either the same with the processing device above, or another processing device operably coupled with the above processing device) for determining an existence of a parent-child relationship between the first image and the second image based on the detection of one of more manipulations, if any; and a display device, operably coupled with the latter processing device, for presenting the determined parent-child relationship, if any, in a user readable format. As used herein, “operably coupled” refers to a state of two devices being connected through a means of communication that allows data to be received, sent, and/or exchanged between the two devices, the data including instructions to be executed and/or data processed or to be processed. For example, a processing device can be operably coupled with the displaying device through one or more memory devices.

In one embodiment, a system for determining image manipulation history include: an input device for receiving at least a first image and a second image; one or more processing devices, at least one of which being operably coupled with the data input device, for detecting one or more manipulations, if any, that are operable to transform the first image to the second image or the second image to the first image, for determining an existence of a parent-child relationship between the first image and the second image based on the detection of one of more manipulations, if any, and for constructing a visual migration map based on the detection of one or more manipulations for each pair of images in the plurality of images; and a display device, operably coupled with one or more of the processing devices, for presenting the visual migration map in a user readable format.

Example

The following Example merely illustrates certain aspects of certain embodiments of the disclosed subject matter. The scope of the disclosed subject matter is in no way limited by the embodiments exemplified herein.

In this example, images to be processed were collected from the internet by querying the web with a set of queries culled from a variety of sources. Among these sources are the queries in the Google image search Zeitgeist, which lists popular queries entered into the engine in recent history, and the query topics for named persons used over the past years in the TRECVID video search evaluation from the National Institute of Standards. A list of approximately 100 image search queries were collected, spanning a range of categories including named persons (such as politicians, public figures, and celebrities), locations (such as specific cities and tourist destinations), events in the news, films, and artists. From these queries, a set of keywords were manually generated which were expected to return relevant photographs from a web image search. These keywords were then entered into the Yahoo!® web image search engine and the top-1000 returned images (the maximum number available) were obtained. A copy detection technique was first applied to these images to sort them into subsets of connected images. The subsets of connected images were then filtered by visually skimming the contents of the subsets of connected images to find those subsets which contained interesting manipulation patterns. In the end, 22 unique queries were evaluated, a representative image of each query being shown in FIG. 8.

For each query, a VMM was constructed according to the Image Archaeology Techniques for the subset of images containing the largest number of connected images. For example, FIG. 9 shows an automatic VMM generated according to the described techniques for a photograph of Osama bin Laden, and FIG. 10 shows an automatic VMM obtained for a photograph of Dick Cheney.

In this example, an Intel Xeon 3.0 GHz machine was used, with the described techniques implemented in MATLAB®. It took about two hours to conduct copy detection and about 15 minutes to compute the VMM. The speed can be increased by using higher-performance copy detection approaches and/or optimized implementations.

A single human annotator provided ground-truth labels for the manipulations among the images, including scaling, cropping, insertion, overlay, and grayscale. The annotator inspected each pair of images and individually labeled whether any of these manipulations were present between the pair. If a manipulation was present, the annotator also labeled the directionality of the manipulation (i.e., which image was derived from the other). Most of these manipulations can be observed visually. For example, a grayscale image can be readily identified. Overlaying external content and insertion within other images also tend to be quite observable. The degree to which other manipulations can be observed can be subject to the magnitude of the manipulation. In scaling, if one image is downscaled by 50% compared to the other, then it should be obvious. A 1% downscaling would be harder to accurately notice, however. Therefore, as with any human-generated annotation, this data is subject to errors. However, it is still helpful to compare the results generated by the Image Archaeology Techniques against manually-generated results for verification of the robustness of the Image Archaeology Techniques. Given the manually determined individual manipulation labels for all of the pairs of images in the subset, a manually generated VMM was obtained.

The human annotator also annotated two properties of each individual image: its manipulation status and the viewpoint that it conveys. The first property, the manipulation status, simply reflects whether the image is one of the types of images shown in FIG. 2 (“original” or “highly manipulated”). These annotations were gathered by the annotator through scanning all of the images within a subset of connected images to gather an intuition about the appearance of the original image crop area and content. These classes are largely easy to observe and the annotations were quite reliable. The second property, the viewpoint conveyed by the image, is more subjective, and the content of the original HTML page from which the image was culled can be used to assist such an effort. For simplicity, the viewpoints of the document were labeled as either positive (supportive), neutral, or negative (critical) of the subject of the image.

The main image manipulation detectors of Image Archaeology Techniques were evaluated in terms of precision and recall by comparing their results against the ground-truth labels given by the human annotator. Precision is defined as the percentage of the automatically detected manipulations returned by the automatic image manipulation detectors that are manually labeled as true manipulations. Recall is defined as the percentage of manually-labeled ground-truth manipulations that are successfully detected by the automatic image manipulation detectors. Each of the methods relies on some predetermined threshold to make a binary decision. Examples of these thresholds can be the absolute magnitude of the detected manipulation, such as the percentage by which a scaling edit decreased the size of an image or the percentage of the image that is occupied by detected overlay pixels. Different threshold levels were scanned and the relative shifts in precision and recall were observed.

The precision-recall curves for each of the detectors across all of the 22 aforementioned queries are shown in FIG. 11. All of the basic, context-free detectors (copy detection, scaling, and color removal) have nearly perfect performance, each exceeding a precision in the range of 95% with recall in the range of 90%. The context-dependent detectors perform less well. The most successful among these detectors is the insertion detector, which retains fairly high precision through most recall ranges. The overlay detection method provides near-perfect precision up to a certain recall level and then falls off precipitously. The size and color contrast of an overlay was found to cause this effect: if overlays were large enough and different enough from the original image, then the method performed well. Smaller, less-perceptible overlays still remain as a challenge. Cropping detector provides a fair precision throughout all recall levels. Further observation of the errors also revealed that the performance of cropping might be underestimated because of the limitation on the quality of the manual annotation of cropping effects: when the cropping is minor, close inspection showed that the machine was correct and the human was in error.

FIG. 12 shows an example comparison between a VMM constructed using the Image Archaeology Techniques (“automatic VMM”) and a manually built VMM (“manual VMM”) on the same set of images. There appears to be a great deal of agreement between the two VMMs.

Across all of the various image sets obtained through the aforementioned 22 queries, the automatic VMMs were compared against their corresponding manual VMMs. This evaluation was done with respect to the parent-child relationship between each pair of images. The manually-determined parent-child relationships (or the “edges” in the directed graph representation of a VMM) were used as ground truth; the correct detection of an edge between an image pair by the Image Archaeology Techniques was considered as a true positive and the incorrect detection by the Image Archaeology Techniques was considered as a false alarm. Again, the evaluation was similarly made in terms of precision and recall. On average, precision was 92% and recall was 71% for the existence of all of the parent-child relationships in the VMMs.

The VMMs emerging from a pool of collected images using the described Image Archaeology Techniques can help navigate and summarize the contents of the images in other search or exploration tasks. The “original”-type images can be the ones corresponding to source nodes (those with no incoming edges) in the graph structure, while the “highly-manipulated”-type images can be the ones corresponding to the sink nodes (those with no outgoing edges). The types of “highly-manipulated” images that are of most interest are the ones whose histories include a relatively large amount of information addition, which lead to changes in meaning and context. FIG. 13 shows examples of automatically discovered “original” and “manipulated” summaries.

The VMMs obtained by the Image Archaeology Techniques can also enable users to browse varying perspectives within sets of images. FIG. 14 presents a summary of the correlations between image types (“original” or “manipulated”) and the viewpoints represented by the web pages upon which they appear. The viewpoints were determined by a human, and were boiled down to simply “positive” (for cases in which the author takes a position specifically in favor of image subject, or the author is neutral and takes no position) or “negative” (for cases in which the author takes a position specifically opposed to the image subject). For many of the exemplary images, including “Che,” “Osama,” “Hussein,” and “Iwo Jima,” a correlation between the type of image and the viewpoint of the document can be observed. In these cases, the original-version images are highly associated with positive and neutral documents, while the manipulated images are associated with negative documents. This suggests that the status of the manipulation history of an image can indicate the meaning or perspective that it conveys. With some other images, manipulations are not observed to change the meaning as much. For the “Cheney” image, the original version is already unflattering and is frequently used as-is to convey negative viewpoints. In some cases, it is manipulated, and the resulting images are still associated with negative viewpoints. The “Reagan” image is rarely manipulated in the obtained images, so such a correlation is not easy to identify.

The foregoing merely illustrates the principles of the described subject matter. It will thus be appreciated that those skilled in the art will be able to devise numerous techniques which, although not explicitly described herein, embody the principles of the described subject matter and are thus within the spirit and scope of the described subject matter. 

1. A method for determining manipulation history among a plurality of images, comprising: a) selecting a first image and a second image from the plurality of images; b) detecting one or more manipulations, if any, that are operable to transform the first image to the second image or the second image to the first image; c) determining an existence of a parent-child relationship between the first image and the second image based on the detection of one of more manipulations, if any; and d) presenting the determined parent-child relationship, if any, in a user readable format.
 2. The method of claim 1, further comprising obtaining the plurality of images by manual collection.
 3. The method of claim 1, further comprising obtaining the plurality of images by web-crawling.
 4. The method of claim 1, further comprising obtaining the plurality of images by using an internet search engine.
 5. The method of claim 1, further comprising obtaining a subset of images that are edited copies of one image from the plurality of images before selecting the first image and the second image, wherein selecting the first image and the second image is from the subset of images.
 6. The method of claim 5, wherein obtaining a subset of images comprises using a copy detection technique, the copy detection technique comprising using a scale invariant feature transform descriptor.
 7. The method of claim 1, wherein detecting the existence of the one or more manipulations comprises using one or more detectors selected from the group consisting of one or more context-independent detectors, one or more context-dependent detectors, and a combination thereof.
 8. The method of claim 7, wherein the context-independent detectors are selected from the group consisting of a scaling detector, a grayscale detector, and a combination thereof.
 9. The method of claim 7, wherein the context-dependent detectors are selected from the group consisting of a cropping detector, an insertion detector, an overlay detector, and a combination thereof.
 10. The method of claim 7, wherein detecting the existence of manipulations further comprises using a copy detector.
 11. The method of claim 10, wherein using the one or more context-dependent detectors comprises: a) constructing a composite image for each of the first image and the second image; b) obtaining a residual image for each of the first image and the second image based on differences between each of the first image and the second image and its corresponding composite image; c) using the obtained residue images to determine the existence of one or more manipulations, if any, that are operable to transform the first image to the second image or the second image to the first image.
 12. The method of claim 1, wherein the parent-child relationship is determined to be non-existent when no manipulations are detected in (c).
 13. The method of claim 1, wherein the parent-child relationship between the first image and the second image is determined to be existent when only one manipulation is detected that are operable to transform the first image to the second image, the first image being identified as the parent and the second image being identified as the child.
 14. The method of claim 1, wherein the parent-child relationship between the first image and the second image is determined to be existent, when multiple manipulations are detected, and all of the multiple manipulations detected are operable to transform the first image to the second image, the first image being identified as the parent and the second image being identified as the child.
 15. The method of claim 1, wherein the parent-child relationship between the first image and the second image is determined to be non-existent, when multiple manipulations are detected, and wherein at least one of the multiple manipulations are operable to transform the first image to the second image, and wherein at least one of the multiple manipulations have transformed the first image to the second image.
 16. The method of claim 1, further comprising: e) repeating (a) through (c) to determine the existence of a parent-child relationship for each pair of images in the plurality of images, if any, and f) constructing a visual migration map for the plurality of images based on the existence of the parent-child relationship for each pair of images in the plurality of images prior to the presenting the determined parent-child relationship, wherein the presenting comprises presenting the visual migration map.
 17. A computer-readable medium comprising at least one software component that, when executed, performs a method comprising: a) selecting a first image and a second image from a plurality of images; b) detecting one or more manipulations, if any, that have transformed the first image to the second image or the second image to the first image; c) determining existence of a parent-child relationship between the first image and the second image based on the detection of one of more manipulations, if any; and d) presenting the determined parent-child relationship, if any, in a user readable format.
 18. The computer-readable medium of claim 17, wherein the method performed when the at least one software component is executed further comprises: e) repeating (a) through (c) to determine the existence of a parent-child relationship for each pair of images in the plurality of images; and f) constructing a visual migration map for the plurality of images based on the existence of the parent-child relationship for each pair of images in the plurality of images prior to the presenting the determined parent-child relationship, wherein the presenting comprises presenting the visual migration map.
 19. A system for determining manipulation history among a plurality of images, comprising: a) an input device for receiving a first image and a second image from the plurality of images; b) a processing device, operably coupled with the data input device, for detecting one or more manipulations, if any, that are operable to transform the first image to the second image or the second image to the first image; c) a processing device, being the same with the processing device in (b), or operably coupled with the processing device in (b), for determining an existence of a parent-child relationship between the first image and the second image based on the detection of one of more manipulations, if any; and d) a display device, operably coupled with the processing device in (c), for presenting the determined parent-child relationship, if any, in a user readable format.
 20. A system for determining image manipulation history, comprising: a) an input device for receiving at least a first image and a second image; b) one or more processing devices, at least one of which being operably coupled with the data input device, for detecting one or more manipulations, if any, that are operable to transform the first image to the second image or the second image to the first image; for determining an existence of a parent-child relationship between the first image and the second image based on the detection of one of more manipulations, if any; and for constructing a visual migration map based on the detection of one or more manipulations for each pair of images in the plurality of images; and c) a display device, operably coupled with one or more of the processing devices, for presenting the visual migration map in a user readable format. 